package com.ych.modules.base.dbEntity;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * Created with IntelliJ IDEA.
 * Author: Usopp.tsui
 * Date: 2021/3/13
 * Time: 10:15
 * Description:
 */
@Data
@TableName("t_job_receive")
@ApiModel(value = "TJobReceiveEntity", description = "数据库-任务领取表")
public class TJobReceiveEntity extends AbstractPageEntity {

    @TableId("id")
    @ApiModelProperty(value = "主键", dataType = "String", notes = "主键")
    private String id;

    @TableField("job_id")
    @ApiModelProperty(value = "任务主键", dataType = "String", notes = "任务主键")
    private String jobId;

    @TableField("user_id")
    @ApiModelProperty(value = "领取用户id", dataType = "String", notes = "领取用户id")
    private String userId;

    @TableField("amount")
    @ApiModelProperty(value = "任务奖励金币数量", dataType = "BigDecimal", notes = "任务奖励金币数量")
    private BigDecimal amount;

    @TableField("create_time")
    @ApiModelProperty(value = "创建时间", dataType = "Date", notes = "创建时间")
    private Date createTime;

    @TableField("audit_status_type")
    @ApiModelProperty(value = "审核状态，码值 待提交：10010001 待审核：10010002 审核中：10010003 审核通过：10010004 审核不通过：10010005", dataType = "String", notes = "审核状态，码值")
    private String auditStatusType;

    @TableField("finish_time")
    @ApiModelProperty(value = "完成时间", dataType = "String", notes = "完成时间")
    private Date finishTime;

    @TableField("status")
    @ApiModelProperty(value = "任务状态 0：正常 1：删除", dataType = "String", notes = "任务状态 0：正常 1：删除")
    private String status;

    @TableField("wechat_name")
    @ApiModelProperty(value = "微信昵称", dataType = "String", notes = "微信昵称")
    private String wechatName;

    @TableField("reject_reason")
    @ApiModelProperty(value = "驳回原因", dataType = "String", notes = "驳回原因")
    private String rejectReason;

    @TableField(exist = false)
    @ApiModelProperty(value = "任务完成所需步骤图片，不需要上传的地方就给-1的字符串就好（必须凑足步骤长度，如：3个步骤，只有一个步骤需要上传图片，也需要传入三个字符串回来）", dataType = "List<String>", notes = "任务完成所需步骤图片，不需要上传的地方就给-1的字符串就好")
    private List<String> stepImgList;

    @TableField(exist = false)
    @ApiModelProperty(value = "任务实体", dataType = "List<String>", notes = "任务实体")
    private TUserJobEntity jobEntity;
}
